Обновить

IRC. The first messenger in history

Время на прочтение 7 min
Количество просмотров 17K

Chat is the main form of communication in the modern world. Even with close people, we can communicate in instant messengers more often than talking in person. The vast majority of popular solutions are centralized and proprietary, that is, they are controlled by a narrow circle of people, and most of their internal processes are completely beyond the control of the end user. There are also free projects, for example, XMPP (Jabber), Matrix, ActivityPub and a considerable number of less popular projects and protocols.

Free projects are distinguished by the complete openness of the source code of the client and server parts - anyone can deploy a full-fledged ecosystem at their own facilities without any dependence on the main developers. A person with programming skills can audit the source code to assess the level of security, as well as independently change any part of the program, or even write their own client for the desired protocol.

The birth of the IRC, IRC, or IRC protocol - all the same - is clearly felt by one fact: IRC does not have an official logo. Apparently, in the late 80s little attention was paid to the beautiful cover of software. Despite this, IRC is a real titan of its niche among contemporaries of that time: synchronized operation of several servers within one IRC network, various user roles (operators, administrators, several access categories for ordinary users), group chats, personal messages, ease of development bots, extremely low consumption of server system resources.

This article is dedicated to the IRC (Internet Relay Chat) protocol, which is older than many readers. IRC dates back to 1988 and is legitimately the first mass standardized messenger! Architecturally, it is considered obsolete, but I propose to look at it from the other side - it is the most minimalistic of the mass communication protocols!

By the way, email is also hopelessly outdated, but thanks to the openness of the protocol, we still have thousands of independent servers and millions of users who regularly check their mailbox. While gentlemen capitalists each pull the blanket over themselves, trying to enslave users in their tube social networks, abstracting from the rest of the world, free mass protocols confidently hold the niche of global interaction. The same Apple and Microsoft put up with the need for a unique tool and provide users with their email servers. It is appropriate to remember Vkontakte, which in 2021 suddenly began advertising its email.

Unbeknownst to us, we have become accustomed to SMS registration confirmations and the widespread linking of accounts to a phone number (think of it as passport data). A messenger that can work without registration at all is out of the realm of science fiction! Contrary to modern sentiments, the IRC protocol allows you to enter a general chat or use private messages without any registration: no password, no login, just a nickname and - welcome.

IRC is so anarchist-minimalistic that it can be used without clients, and no API is required to write a bot. You can connect to the server and write a few kind words if you have a utility like telnet or netcat, which will allow you to write directly to the IRC server socket.

Example of connecting via telnet

For practical use, this approach will not work, because a large amount of service information is evident, and the regular response to pings from the server is very distracting (if a ping is missed, a forced shutdown occurs due to a timeout).

Due to the age of the protocol, today there are a large number of different clients available that provide comfortable use of IRC. Most Popular: HexChat, Quassel IRC, Conversation And Kvirk, There are also many nice clients for smartphones (I have little experience with this, I can only recommend Revolution). In the age of JavaScript and the widespread use of web browsers, it is impossible to do without a web client, the most prominent of which: The Lounge, KiwiIRC And qwebirc. The console client without a graphical shell is in particular demand. WeeChat.

I'm younger than the protocol, but I enjoy using it every day. And he might have decided that he was crazy, but look: a lot of modern clients are supported to this day. This means that someone needs IRC.

We won’t go into retrospect and list possible computerized areas of society in the nineties and early 2000s where IRC was used - it was used everywhere due to the lack of analogues. The Big Question: Where IRC Is Used Today.

When I conceived the topic, I planned to talk about IRC as a chat on a corporate network that is easy to use and administer. However, today the range of chats for offices is so large that wasting time talking about office IRC in 2021 is a waste of time.

In reality, IRC is used by people who started doing it back in the days of its popularity - hence the high prevalence of IRC among experienced programmers. Surely everyone has come across a mention somewhere freenode (or libera chat), as well as subdomains irc. a variety of IT projects (mostly free ones that need active communication within the community). It would be remiss not to mention RusNet — the largest Russian-language IRC network on general topics.

If you pay attention to what means of communication are popular in hidden networks, in particular in I2P, You might be surprised - with minor exceptions, IRC is still a monopolist. On the one hand, the explanation is simple: hidden networks are used by the same handful of geeks as other IRC servers, but let's look at it from a different angle...

Registration in almost any modern social network, email service or instant messenger involves receiving a confirmation code via SMS. This once caused a lot of outrage, but now even the much-praised Signal and Telegram are tied to a phone number. I don’t understand what kind of privacy we can talk about when the account is associated with my passport data. Even if you use the wrong SIM cards for registration, the very fact that a SIM card is required is an alarm bell. An anecdote from the “1984” genre, where there was a Ministry of Love engaged in torture: we have branches of the Ministry of Privacy everywhere.

Users of hidden networks respect privacy in its highest manifestation, that is, they care about their anonymity (discussions on this topic “is everything on the darknet a crime” are reflected in a separate article).

In contrast to popular instant messengers, IRC makes you think about modern trends: does anti-spam protection justify linking each account to the user’s passport data, moreover, if the service positions itself as privacy-oriented? Hidden networks act as a measuring stick in this matter, demonstrating the maximum possible anonymity in communication.

But not everything is so rosy - there is a fly in the ointment. Mainly IRC lost its popularity due to the lack of offline messages. We are used to logging into any messenger and receiving messages sent to us while offline, but in IRC not everything is so simple for the average user. The protocol does not provide for sending a message to a user who is not currently online. The name Internet Relay Chat reflects the essence well - IRC is just a relay, a transit link, and not a message storage server.

The problem with messages can be solved simply - with a bouncer. A bouncer is a layer between the user and the server. It allows you to read chat history and receive personal messages during the period of actual absence. The user profile has the “online” status when the user is connected to the bouncer, or hangs in the “away” status when the user is actually disconnected.

The screenshot shows the web interface ZNC — the most popular solution that can be installed on any VPS in a couple of commands. The ZNC bouncer is multi-user, meaning it can serve many clients. When using a bouncer, the end user does not use the IRC server address to connect, but the ZNC address, indicating the registration data from the bouncer account.

For comfortable simultaneous use of IRC from different devices (PC, laptop, smartphone), you can use Quassel Core, which is an analogue of ZNC, but is focused on improved quality of synchronization between user devices (the cross-platform Quassel Client is used for connection).

To create a public chat archive, try IRCaBot — lightweight logger in C++ with a functional web interface.

The second most important problem is the lack of media: no file transfers, no colorful stickers, no video conferencing. The standard IRC message size is less than a kilobyte, so it's pointless to even try to transfer media files inside real messages (the client sends no more than one message per second, so sending small messages in bulk won't work either). For file transfer, the DCC (Direct client-to-client) protocol is provided, which implies a direct connection of users. In most cases, this is not possible due to the lack of direct accessibility of users relative to each other, or due to the lack of protocol support by the client application of one of the parties. Ultimately, third-party file hosting services are most often used to transfer files. If we make a remark about hidden networks, the absence of media can be considered a plus, since media files are additional metadata, hypothetically a leak of sensitive data about the user.

The latest public criticism of IRC is the lack of encryption. This accusation against IRC is just as justified as against most modern instant messengers. The security of connecting to a server has long been resolved using TLS (the same encryption is used when opening sites using the HTTPS protocol), which protects against interception and analysis of traffic along the path from the user to the server. In the case of hidden networks, no one can listen to the traffic a priori, so TLS encryption for IRC servers, for example, in I2P, is not required at all.

On the server side, all messages are transmitted (or stored) in clear text (just like personal messages on VKontakte, Facebook, Instagram and the list goes on). This means that the administrator can see the contents of transmitted messages. To solve this problem, there are several plugins for end-to-end encryption from user to user: OTR (well supported in HexChat), Blowfish (tested in Quassel), as well as other similar tools that can be found through search engines if requested. If users use end-to-end encryption, messages are encrypted on the server side and the threat of message monitoring is removed.

If you want to try IRC, but don’t know where to go, go to ILITA IRC. ILITA is a network of servers created in 2016 (the reference to elitism is ironic). Its main difference from the others is that communication between network servers is carried out via I2P, which does not allow servers with different levels of anonymity to compromise each other. Connection addresses can be found on the web pages:

  • I2P: http://irc.ilita.i2p/

  • Yggdrasil: http://[324:71e:281a:9ed3::41]/

  • Tor: http://ilitafrzzgxymv6umx2ux7kbz3imyeko6cnqkvy4nisjjj4qpqkrptid.onion/

According to your mood, check out video about IRC, which tells general facts and also mentions ILITA IRC.

Tags:
Hubs:
Всего голосов 34: ↑33 и ↓1 +32
Комментарии 20
+20

Comments 20

Several additions.

The first publicly accessible chat was made by CompuServe 8 years earlier, it was called CB Simulator, because it imitated the concept of citizens band radio on top of the proprietary CIS network (these are several dozen radio channels around the 27 MHz frequency, essentially chats on the radio, even in the USSR this frequency was free).

On IP networks, the first protocol was Zephyr, it appeared a year before IRC, although it used UDP.

Non-public (military, government, university, etc.) implementations of the chat idea of ​​various kinds had existed by that time for about years 15.

Thanks for the substantive comment. To more clearly convey the idea of ​​​​all sorts of less popular and less standardized predecessors of IRC (we are not talking about information distribution protocols like E-mail, we are talking about instant messages), I replaced the phrase “IRC is the first standardized messenger” with “IRC is the first massive standardized messenger".

I still go to some of the channels I hung out on 15 years ago....

in my youth I sat in mirc, I suspect they have a lot in common.

Yes. mIRC is one of the popular IRC clients for Windows OS. In fact, you were on IRC. But due to the popularity of the mIRC client, IRC itself was called the “world”)

Eh, Bitchx... There were times

Yeah, I remember it was very easy to get root on your interlocutor’s Linux through some other hole in the scourge :)

A UFO flew in and published this inscription here

Yes, I did. Mirc, then bitchX and irssi, which I use to this day.

How much fun was associated with writing all sorts of interesting scripts for the world and pushing them to ignorant users... I remember that even scripts.ini (or something like that) could be rewritten by transferring this file via ctcp. And how much music was pulled through the same ctcp, wow.

Well, I also mastered the blind ten-finger method when I started using irc.

I heard another definition: Sending strings over tcp.

In our city there was an Internet provider (which was the PBX itself and for its clients) which on dialup charged not for connection time, but for traffic.... it was very cool during dialup, since those who had their landline phone could sit in irc around the clock and spend 2-3 megabytes of Internet traffic per day (and they blocked all other traffic except irc on their Windows 98 by installing a firewall like atguard and opened only the irc server port) and pay some very pennies at that time for the Internet.

10-15 meters was enough for me for a month or two :)

eh... and now you’re not surprised at even 100GB in a month.

Freenode was just killed, yes.

What was not expected at all, sadness.

well, everyone moved to libera chat immediately :)

/me slaps $username around a bit with a large trout

Discord is quite a good modern alternative to IRC. No phone number required. With a bunch of goodies + was originally tailored for gamers, so the best solution for voice communication.

A UFO flew in and published this inscription here

Who remembers "Sprint"" ?